package cn.pconline.officialclub.entity;

import cn.pconline.autoclub.entity.User;
import com.alibaba.fastjson.annotation.JSONField;
import java.util.Date;
import org.gelivable.dao.Column;
import org.gelivable.dao.Entity;
import org.gelivable.dao.Id;
import org.gelivable.dao.Transient;

/**
 * 官方车友会活动报名人员
 *
 * @author <a href="mailto:chensy0203@163.com">chensy</a>
 */
@Entity(tableName = "oac_activity_member")
public class OActivityMember extends EntityKit implements EntityWithUser {

    /**
     * 活动人员ID
     */
    @Id
    @Column(name = "id")
    private long id;
    /**
     * 活动ID
     */
    @Column(name = "activity_id")
    private long activityId;
    /**
     * 用户ID
     */
    @Column(name = "user_id")
    private long userId;
    /**
     * 姓名
     */
    @Column(name = "name")
    private String name;
    /**
     * 联系电话
     */
    @Column(name = "phone")
    private String phone;
    /**
     * 参加人数
     */
    @Column(name = "join_num")
    private int joinNum;
    /**
     * 车牌
     */
    @Column(name = "licence_plate")
    private String licencePlate;
    /**
     * 备注
     */
    @Column(name = "remark")
    private String remark;
    /**
     * 创建时间
     */
    @Column(name = "create_at")
    private Date createAt;
    /**
     * 用户昵称
     */
    @Column(name = "nickname")
    private String nickname;
    /**
     * 报名状态
     *
     * @return
     */
    @Column(name = "status")
    private int status;
    public static final int STATUS_APPLY = 0;  //申请加入活动
    public static final int STATUS_PASS = 1;  //加入活动审核通过
    public static final int STATUS_REFUSE = 2;  //拒绝参加活动
    public static final int STATUS_DELETE = -1;  //标记删除
    @Transient
    @JSONField(serialize = false, deserialize = false)
    private User user;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public long getActivityId() {
        return activityId;
    }

    public void setActivityId(long activityId) {
        this.activityId = activityId;
    }

    @Override
    public long getUserId() {
        return userId;
    }

    @Override
    public void setUserId(long userId) {
        this.userId = userId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public int getJoinNum() {
        return joinNum;
    }

    public void setJoinNum(int joinNum) {
        this.joinNum = joinNum;
    }

    public String getLicencePlate() {
        return licencePlate;
    }

    public void setLicencePlate(String licencePlate) {
        this.licencePlate = licencePlate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Date getCreateAt() {
        return createAt;
    }

    public void setCreateAt(Date createAt) {
        this.createAt = createAt;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    @Override
    public User getUser() {
        return this.user;
    }

    @Override
    public void setUser(User user) {
        this.user = user;
    }
    
}
